package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 contract_manage
 *
 * @author ruoyi
 * @date 2024-03-05
 */
@Data
public class ContractManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractName;

    /** 合同对象 */
    @Excel(name = "合同对象")
    private Long contractCounterpart;

    /** 合同编码 */
    @Excel(name = "合同编码")
    private String contractNo;

    /** 金额类型：sr：收入 zc：支出 */
    @Excel(name = "金额类型：sr：收入 zc：支出")
    private String amountType;

    /** 货币类型：暂时无 */
    @Excel(name = "货币类型：暂时无")
    private String currencyType;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal contractAmount;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsible;

    /** 部门 */
    @Excel(name = "部门")
    private Long deptId;

    /** 签署状态 */
    @Excel(name = "签署状态")
    private String signStatus;

    /** 履行状态 */
    @Excel(name = "履行状态")
    private String fulfilStatus;

    /** 生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveDate;

    /** 有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validDate;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /** 归档日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "归档日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fileDate;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractType;

    /** 账款金额 */
    @Excel(name = "账款金额")
    private BigDecimal amountAccount;

    /** 待回/待付金额 */
    @Excel(name = "待回/待付金额")
    private BigDecimal waitAmount;

    /** 计划回/付款 */
    @Excel(name = "计划回/付款")
    private BigDecimal playAmount;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private BigDecimal invoiceAmount;

    /** 待收/开票 */
    @Excel(name = "待收/开票")
    private BigDecimal waitInvoiceAmount;

    /**
     * 合同类型：1子合同，0主合同
     */
    private String contractState;
    /**
     *主合同id
     */
    private String mainId;
    /**
     * 附件
     */
    private String fileData;
    /**
     * 签订状态 0未签订 1 已签订
     */
    private String signState;
    private String counterpartName;
    private String deptName;

    private List<String> fileNameList;
    private List<Map<String,String>> fileList;

    private List<Long> manageDataList;

    private String dataDate;
    private String dataEndDate;

    private Long projectId;


}
